// 时间换算-x天x小时x分钟
export function TimeFormat(value, hours = 8) {
    if (!value) {
        return '0天0小时0分钟';
    }
    const day = parseInt(value / 60 / hours, 10);
    const hour = parseInt((value / 60) % hours, 10);
    const min = parseInt(value % 60, 10);
    let newValue = '';
    if (day > 0) {
        newValue = `${day}天`;
    } else {
        newValue += '0天';
    }
    if (hour > 0) {
        newValue += `${hour}小时`;
    } else {
        newValue += '0小时';
    }
    if (min > 0) {
        newValue += `${parseFloat(min)}分钟`;
    } else {
        newValue += '0分钟';
    }
    return newValue;
}
export function TimeFormatForm(value) {
    const day = parseInt(value / 60 / 8, 10);
    const hour = parseInt((value / 60) % 8, 10);
    const min = parseInt(value % 60, 10);
    let newValue = '小时';
    // if (day > 0 || hour > 0 || min > 0) {
    //     newValue += ' (';
    // }
    if (day > 0) {
        newValue += ` (${day}天`;
    } else {
        newValue += ' (0天';
    }
    if (hour > 0) {
        newValue += `${hour}小时`;
    } else {
        newValue += '0小时';
    }
    if (min > 0) {
        newValue += `${parseFloat(min)}分钟)`;
    } else {
        newValue += '0分钟)';
    }
    // if (day > 0 || hour > 0 || min > 0) {
    //     newValue += ')';
    // }
    return newValue;
}

// 逾期时间
export function delayTimeFormat(value) {
    const day = parseInt(value / 60 / 24, 10);
    const hour = parseInt((value / 60) % 24, 10);
    const min = parseInt(value % 60, 10);
    return `${day}天${hour || min ? `${hour}小时` : ''}${min ? `${min}分钟` : ''}`;
}

// 时间换算-x小时
export function TimeFormatHour(value) {
    const hour = parseFloat(value / 60, 10).toFixed(1);
    let newValue = '';
    if (hour > 0) {
        newValue += `${hour}小时`;
    }
    return newValue;
}

// 时间换算-x分钟
export function TimeFormatMin(value) {
    const min = parseInt(value / 60, 10);
    let newValue = '';
    if (min > 0) {
        newValue += `${parseFloat(min)}分钟`;
    }
    return newValue;
}
// 通用类型
export function getTaskDuration(status) {
    const taskDuration = {
        1: '会议',
        2: '培训',
        3: '团建',
        4: '学习',
        99: '其他'
    };
    return taskDuration[status];
}
// 任务状态
export function getTaskStatus(status) {
    const taskStatus = {
        1: '待开始',
        2: '进行中',
        3: '已完成',
        4: '已暂停',
        5: '已取消'
    };
    return taskStatus[status];
}
// 任务优先级
export function getTaskPriority(status) {
    const taskPriority = {
        1: '紧急',
        2: '高',
        3: '中',
        4: '低'
    };
    return taskPriority[status];
}
// 任务优先级-传参时候
export function getTaskPriorityTwo(status) {
    const taskPriority = {
        紧急: 1,
        高: 2,
        中: 3,
        低: 4
    };
    return taskPriority[status];
}
// 任务执行情况
export function getTaskSituation(status) {
    const taskSituation = {
        1: '提前',
        2: '按时',
        3: '逾期'
    };
    return taskSituation[status];
}
// 周期任务标识
export function getTaskFlag(status) {
    const taskFlag = {
        0: '否',
        1: '是'
    };
    return taskFlag[status] || '否';
}
// 任务通知方式
export function getNoticeWayList(status) {
    const taskFlag = {
        IM消息: 1,
        系统消息: 2,
        邮箱: 3,
        短信: 4
    };
    return taskFlag[status];
}
// 任务通知方式2
export function getNoticeWayListTwo(status) {
    const taskFlag = {
        1: 'IM消息',
        2: '系统消息',
        3: '邮箱',
        4: '短信'
    };
    return taskFlag[status];
}
// 操作项
export function getActionItem(status) {
    const taskSituation = {
        1: '发起',
        2: '变更',
        3: '审核通过',
        4: '审核不通过',
        5: '转进行中',
        6: '填写进度',
        7: '催办',
        8: '取消',
        9: '暂停',
        10: '继续执行',
        11: '延期',
        12: '重新发起',
        13: '转已完成',
        14: '验收通过',
        15: '验收不通过',
        16: '转派',
        17: '退回',
        18: '发起评分',
        19: '评分',
        20: '发起估算',
        21: '估算',
        22: '重评',
        23: '重估'
    };
    return taskSituation[status];
}
export function toNum(val) {
    if (val) {
        if (typeof val === 'number') {
            return val;
        }
        return Number(val);
    }
    return '';
}

// export function toNum(val) {
//     if (val !== null && val !== undefined && val !== '') {
//         if (typeof val === 'number' && !isNaN(val)) {
//             return val;
//         }
//         return Number(val);
//     }
//     return '';
// }

export const getFormatDateCondition = dates => {
    const emp = '';
    if (!dates || !dates.length) {
        return [emp, emp];
    }
    let [begin, end] = dates;
    begin = begin ? begin.format('YYYY-MM-DD 00:00:00') : emp;
    end = end ? end.format('YYYY-MM-DD 23:59:59') : emp;
    return [begin, end];
};

// 工时换算-  x小时  to  x天x小时x分钟
export function workTimeFormat(value) {
    const day = parseInt(value / 60 / 8, 10);
    const hour = parseInt((value / 60) % 8, 10);
    const min = parseInt(value % 60, 10);
    return `${day}天${hour}小时${min}分钟`;
}
/**
 * 表格全选和单选保存数据列表
 * @param {boolean} selected 选中还是取消
 * @param {Array} curList 原数据
 * @param {Array} selectedRows 选中数据
 * @param {Array} changeRows 当取消的时候用到变化量
 */
export const returnSelectList = (selected, curList, selectedRows) => {
    let resultData;
    if (selected) {
        resultData = [...curList, ...selectedRows];
    } else {
        resultData = curList.filter(i => !selectedRows.some(item => item.id === i.id));
    }
    return resultData;
};
